Methodologies and analytics tools for locating experts with specific sets of expertise

ABSTRACT

A method and analytics tools for locating experts with specific sets of expertise are disclosed, the method including providing a collection of documents P 0 ; generating categories representing fields of expertise derived from the collection of documents P 0 ; refining the taxonomy of the categories by applying user domain knowledge; extracting structured fields from the collection of documents P 0 ; constructing a contingency table having a first axis defined by the extracted structured fields and a second axis defined by the categories; and using the contingency table to identify a set of experts having a related expertise. The method may also include a network graph analysis that aids visualization of the relationship between people and expertise.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of information analytics tools, and methods for data mining and, more specifically, to using structured and unstructured information for the identification of experts for a given set of expertise.

In today's business consulting services world, often a team of consultants with different kinds of expertise must be quickly put together to respond to a potential client engagement or to address a client issue. Fast and dynamic team building capability is critical to the success of a business consulting service organization. To acquire such ability, one key component is to be able to identify an appropriate consulting team with appropriate expertise quickly. Fortunately, most of the consulting organizations maintain significant amounts of information in the form of documents, typically texts in a knowledge base which contain information, for example, regarding which consultants have been working on which kinds of projects. Such types of information, if mined properly, can give insights into who has what kinds of expertise.

Today, consulting organizations often cope with such issues via the word-of-mouth approach, which can be ad hoc, unreliable, and slow. A better approach is needed.

SUMMARY OF THE INVENTION

In one embodiment of the present invention, a method for use with a collection of documents P₀ comprises: generating categories representing fields of expertise derived from the collection of documents P₀; extracting structured fields from the collection of documents P₀; constructing a contingency table having a first axis defined by the extracted structured fields and a second axis defined by the categories; and using the contingency table to identify a set of experts having a related expertise.

In another embodiment of the present invention, a method for use with a set of seed documents P₀ extracted from a data warehouse comprises: searching the data warehouse to provide a set of additional documents P₁ similar to documents of P₀, wherein the similarity is determined using a statistical method; generating an initial taxonomy for a combined document set P₀+P₁ that includes all documents from both the set of seed documents P₀ and the set of additional documents P₁; and iterating the processes of extracting, searching, and generating using domain knowledge to produce a refined taxonomy from the initial taxonomy.

In still another embodiment of the present invention, a computer program product comprises a computer useable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to: find a relationship between categories of a taxonomy and a collection of names of people derived from structured fields used to classify a set of documents from a data warehouse; plot the relationship as a network graph; and perform a network graph analysis to find a set of names from the collection of names of people that is most related to a set of the categories of the taxonomy.

Yet another embodiment of the present invention is a computer program product for use with a collection of documents P₀, the computer program product comprising a computer useable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to: generate categories representing fields of expertise derived from the collection of documents P₀; extract structured fields from the collection of documents P₀; construct a contingency table having a first axis defined by the extracted structured fields and a second axis defined by the categories; and identify, using the contingency table, a set of experts having a related expertise.

These and other features, aspects and advantages of the present invention will become better understood with reference to the following drawings, description and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system block diagram illustrating a system for locating experts with specific sets of expertise in accordance with an embodiment of the present invention;

FIG. 2 is flowchart illustrating phases of a methodology for locating experts with specific sets of expertise in accordance with an embodiment of the present invention;

FIG. 3 is a flowchart illustrating a method of locating experts with specific sets of expertise in accordance with an embodiment of the present invention;

FIG. 4 is an illustration of a graphical user interface for an investigate phase process of the method of FIG. 3;

FIG. 5, comprising FIGS. 5A and 5B, is an illustration of a graphical user interface for taxonomy generation in the method of FIG. 3;

FIG. 6 is an illustration of a name annotation for a process of the method of FIG. 3;

FIG. 7 is an illustration of a contingency table for a process of the method of FIG. 3; and

FIG. 8 is an illustration of a network analysis graph for a process of the method of FIG. 3.

DETAILED DESCRIPTION OF THE INVENTION

The following detailed description is of the best currently contemplated modes of carrying out the invention. The description is not to be taken in a limiting sense, but is made merely for the purpose of illustrating the general principles of the invention, since the scope of the invention is best defined by the appended claims.

Broadly, embodiments of the present invention provide systems and methods of data mining for locating experts with specific sets of expertise. Embodiments of the present invention provide analytics tools, and methodologies involving those tools, for assisting in numerous stages of the identification of experts for a given set of expertise using structured and unstructured information. Embodiments may be used, for example, by business consulting services in conjunction with a data warehouse, e.g., a large commercial database, for example, for locating a team of consultants having various distinct and specified kinds of expertise required to respond to a potential client engagement or to address a client issue.

By enabling the use of user domain-specific knowledge to filter information and efficiently and effectively narrow search results, embodiments of the present invention differ from prior art search techniques that do not have a capability to employ such domain-specific knowledge.

FIG. 1 illustrates information retrieval system 100 in accordance with one embodiment of the present invention. To address the major issues in the expertise location process, information retrieval system 100 may utilize a set of analytics tools to link people with their expertise and allow easy location of information pertaining to people and their expertise. The analytics tool set may contain a knowledge base data warehouse 102 and a set of analytics tools 104, for identifying expertise for people as shown in FIG. 1. The data warehouse 102 may be implemented using computer-readable storage devices 103. Computer-readable storage devices 103 may communicate with a computer system 106 via a network, electronic, or other communication path 108. Computer system 106 may provide an interface for a human user to access data warehouse 102 and may be used to implement and provide a human user interface for analytics tools 104. Data warehouse 102 may contain documents that include the people information as well as other kinds of information that are helpful in analysis, for example, structured fields on people's titles and ranks. The analytics tools 104 may provide functions including, for example, exploring the data warehouse 102 and analyzing various relationships among documents and people. As indicated in FIG. 1, analytics tools 104 may include capabilities for providing an end user with, for example, taxonomies, name entity extraction, statistical analyses, contingency analyses, and network graph analysis and visualization.

Referring now to FIG. 2, a method 200 of one embodiment of the present invention may comprise an investigate phase 201 of processes, a comprehend phase 202 of processes, and an examine phase 203 of processes.

The investigate phase 201 may use a search tool, e.g., from the set of analytics tools 104, to extract a set of seed documents, P₀, that contains the descriptions of the expertise of a set of people in a specific domain of interests from a data warehouse, e.g., data warehouse 102. Next an analytics technology—e.g., from the set of analytics tools 104 and described in more detail below—may convert each document with a numeric vector that corresponds to its word, feature, and structured information content. In some cases, a nearest neighbor technology (i.e., measuring distance between vectors using a metric such as “cosine distance”) that identifies the related documents, P₁, that were outside of the original seed documents, P₀, may also be used.

The comprehend phase 202 may use a document classification technology (also called “taxonomy generation technology”)—e.g., from the set of analytics tools 104 and described in more detail below—to classify the selected documents, e.g., combined document set P₀+P₁ comprising all documents from both sets P₀ and P₁, into appropriate categories. Such a classification technology may use the numeric vector space and the feature space created for the combined related documents and the seed documents, i.e., P₀+P₁. Furthermore, the document classification technology may use an interactive clustering of the feature space that can help a domain expert refine the feature space if desired. Next, if people's names are not a structured field in the data warehouse 102, or the name field is irrelevant to the expertise, a name-annotation step—e.g., from the set of analytics tools 104 and described in more detail below—may be introduced to extract the human names out of the documents. Such names can be considered as the structured field in the data warehouse 102. Alternatively, if the document authors exist and can be used for such classification analysis, and the authors' names exist as structured fields in the data warehouse 102, such structured fields can be used directly without the name-annotation step.

The examine phase 203 may use a contingency table analysis—e.g., from the set of analytics tools 104 and described in more detail below—that compares the document taxonomy (obtained from the classification analysis) against the authors' names to identify who is highly associated with what categories of documents. The contingency table analysis may also be used to compare one person classification with another person classification to see who have similar expertise. Furthermore, a trending tool—e.g., from the set of analytics tools 104 and described in more detail below—that overlays document time information on top of document categories may be used to comprehend the recentness of the expertise (or other) changes. In addition, a network graph analysis—e.g., from the set of analytics tools 104 and described in more detail below—may be used to demonstrate the relationship among people and the relationship among people and their expertise. In the foregoing, the word “relationship” may be given its normal and usual mathematical meaning as any subset of the Cartesian product of a first set and a second set.

Referring now to FIG. 3, a method 300 of one embodiment of the present invention may include a process 301 of taking a given set of seed documents P₀ and extracting them from the data warehouse 102. For example, computer system 106 may be used to extract a set of relevant documents P₀ from a knowledge base (in data warehouse 102) on a given topic using a query of some kind. For example, as shown at query 400 in FIG. 4, one may be interested in finding experts in certain areas within Russia (input 401) and in the financial services area (inputs 402, 403). The related documents may be extracted from the data warehouse 102 using an analytics tool from the set of analytics tools 104. The analytics tool may automatically convert the extracted documents P₀ into a numeric vector through words, phrase, and bag of words analysis. For example, computer system 106 through the set of analytics tools 104 may use a method such as that described by U.S. Pat. No. 6,424,971. Such a numeric vector, together with structured information from the documents P₀ may then be used for subsequent analysis. It may also be possible that a user of system 100 only knows about one set of seed documents on one or several specific topics.

Further using the analytics tool and continuing with method 300 at process 302, computer system 106 may find a nearest (in the sense of “similarity”) neighbor of P₀ across the entire document corpus using statistical methods in the analytics tool set 104. For example, for a given inventor's patent, process 302 may extract all of the patents that are similar to that patent through a nearest neighbor search. A nearest neighbor search can be done by selecting a large group of patents that share certain structured characteristics with the initial set P₀—such as being in the same patent main class under the United States Patent and Trademark Office (USPTO) patent classification system. The text of these nearest neighbor patents may then be extracted and used to create a vector space model based on a bag-of-words representation. Different documents (patents) can then be compared via a cosine similarity metric. The nearest neighbors to the original seed patents P₀ can then be selected for inclusion in the nearest neighbor document set P₁. For example, methods of generation of feature spaces from text and comparison of documents using cosine similarity are disclosed by U.S. Pat. No. 6,424,971, referenced above. The combined document set P₀+P₁ may be considered to cover the space for the interested patent areas. Process 302 may be considered optional in the sense that method 300 may proceed directly from process 301 to process 303. Continuing with method 300 at process 303, computer system 106 may be used to automatically generate a taxonomy, T₁, for combined document set P₀+P₁—or P₀ in case process 302 has been skipped—using words, bag of words, phrases analysis, structured and unstructured features. For example, a patent taxonomy can be generated using a method such as that described in U.S. Pat. No. 6,424,971, referenced above, to show what kinds (e.g., which USPTO patent classes) of patents there are for the extracted patent set P₀. Also for example, as illustrated by FIG. 5A and FIG. 5B, computer system 106 may be used to automatically classify the document set P₀, extracted in the example illustrated by FIG. 4, using the automatic taxonomy generation techniques that treat the documents as words, generating a feature space for the document set P₀ and using clustering technologies such as K-means and other clustering methods to cluster the documents, as disclosed, for example, by Rasmussen, E., “Clustering Algorithms”, in Frakes, W. B. and Baeza-Yates, R., editors, Information Retrieval, Data Structures and Algorithms, pages 419-442, Prentice Hall, Englewood Cliffs, N.J. (1992). Once the clusters are generated, additional refinements can be made by merging, deleting, or adding classes. FIGS. 5A and 5B show an example of the generated taxonomy for the document set P₀, extracted in the example illustrated by FIG. 4. FIG. 5A shows a first set of categories 501, each category being an author name; and FIG. 5B shows a second set of categories 502. FIG. 5A also illustrates how trend (temporal) information 505 may be included for each category and graphically displayed. The categories 501, 502 may be considered as an expertise category as well.

At process 304, method 300 may continue by iterating processes 301 through 303 using user domain knowledge to filter out noise and refine the taxonomy T₁. Such a taxonomy serves as an “expertise” taxonomy. In the first example related to patent documents such user domain knowledge may comprise, for example, some specialized knowledge about the particular technical field of the patents being searched. In the second example related to Russian financial services such user domain knowledge may comprise, for example, some specialized knowledge about a particular geographical area. At process 305, method 300 may continue by classifying the documents of combined document set P₀+P₁—or P₀ in case process 302 has been skipped—based on a structured name field. If there are meaningful structured fields—such as the authors of the documents P₀+P₁—that can be used to create experts and expertise linkage, then classify P₀+P₁ by such structured fields—such as authors. Otherwise, a name-annotator may be run to extract names out of the documents P₀+P₁. Such extracted names can be considered as a structured field. Method 300 can then classify the documents P₀+P₁ based on the structured name field.

FIG. 6 illustrates an example of running a name annotator. To link expertise with people, one way is to look into structured fields such as the authors of the documents P₀+P₁. In a knowledge base, e.g., contained in data warehouse 102, however, the documents P₀+P₁ often are generated from collected data sources so that the author information may not be useful. The documents themselves, however, may mention people's names which indicate what they are working on and what they are good at, and so forth. In such cases, one step to extract such people information is to run a name-annotation step over the document set P₀+P₁ to extract names out of the documents as shown in FIG. 6. In this case, the name annotation results 601 are shown on the left hand side column and a user may select a set of names 603 to examine further if so desired, as shown on the left hand side column in FIG. 6.

Method 300 may continue at process 306 using contingency analysis to generate a contingency table C₀—such as contingency table 700 shown in FIG. 7—that compares the refined (e.g., at process 304) document taxonomy T₁ and the classification of names of authors.

In the patent example, the patents may be classified by inventor names using the structured values available in the patent database (from data warehouse 102) and the contingency table C₀ can be generated to compare the inventors with the patent categories to show the relationship between the inventors and their specialized expertise areas. Similarly, method 300 can compare one inventor classification to another to see how inventors are related to each other. Such a comparison may be used, for example, to relate two inventors who have a significant number of co-authored inventions.

To comprehend who has what expertise and those who have similar expertise and how they are related to each other, the set of analytics tools 104 may execute a tool in the background to perform a contingency analysis between the names and the expertise categories or between names themselves. Relationships among people and between people and expertise may be derived from the following exemplary forms of contingency analysis: (1) structured fields analysis (e.g., co-authoring of documents); (2) structured and unstructured data analysis (e.g., association of a document with a similar text content to another person); and (3) structured and unstructured data analysis based on sharing a text or structured feature value (e.g., authors located in the same building, or that worked for the same company, or that used the same chemical in research, for example).

The contingency table 700 may display the expertise categories across one axis, e.g., horizontal axis 701 as shown in FIG. 7, and the authors (or inventors) along the other axis, e.g., vertical axis 702 as shown in FIG. 7. The cells—for example, cell 703—may indicate the number of documents that occur at the intersection of author 704 (e.g., “Bacechowski, David V.”) and category 705 (e.g., “blood”). Each cell has an expected value which can be calculated based on the size 706 of the category (e.g., size 706 is 224 for the category “blood”) and the total number 707 of documents for the author (e.g., total number 707 of documents for author “Bacechowski, David V.” is 24).

For example, an expected value percentage for each cell may be calculated as (percent of the author's documents out of the total number for the category)×(percent of the documents in the category out of the total number of documents in all categories). If the expected value is exceeded by the actual value in the cell, then the cell may be shaded. For example, cell 703 is illustrated with a moderate shading that matches moderate affinity shading 708. The degree of shading may indicate the degree of significance of the cell's value, which may be calculated, for example, using a statistical test, such as the well-known chi-squared test (see Press, et al., “Numerical Recipes in C, second edition”, New York, Cambridge University Press, (1992), pages 620-623). Shading of each cell may indicate a significant relationship between the author corresponding to the cell and the category corresponding to the cell, and the degree of shading may indicate the degree of significance of the relationship. For example, the moderate affinity shading of cell 703 may indicate a moderate degree (as compared to “very high” 709, “low” 710, and “no” 711 degrees of affinity illustrated in FIG. 7) of significance between author 704 (e.g., “Bacechowski, David V.”) and category 705 (e.g., “blood”) of cell 703.

Method 300 may continue at process 307 by finding significantly related document categories to people. For example, document category “blood” may be found to be significantly related to people “Bacechowski, David V.” and “Brown, Richard I.” by the shading of cell 703 and cell 712. As seen by the multiple shaded cells of the example illustrated by FIG. 7, a number of significantly related document categories to people may be found.

At process 308, method 300 may continue by plotting the relationships found—such as significantly related document categories to people—using network graph analysis to aid visualization of who are related to which document categories, hence who has what expertise. A network graph analysis can be used, for example, to generate an inventors' network to show relationships among inventors. Such a network graph may allow a user to find multiple options when locating people. For example, in case one person cannot be found, others who have similar expertise might be located. Additional types of applications to other kinds of people and expertise location may be provided, such as match-making by identifying complimentary skills between two people.

FIG. 8 shows an example of a network graph 800 that can be generated to show such relationships as exemplified above in the description of process 307. In addition to generating network graph 800, process 308 may also indicate the strength of the relationship by adding thickness to an edge that links two nodes. The thicker the lines are, the more significantly related the nodes may be. In the example illustrated in FIG. 8, the center person (node 801) may be more significantly related to the person represented by node 802, because the center person (node 801) and the person represented by node 802 may have similar expertise. Thus, the thicker line for edge 803 indicates a more significant relationship than, for example, the thinner line for edge 804, which may indicate a less significant relationship of the center person (node 801) to the person represented by node 805, who, for example, may have expertise less similar to that of the center person than does the person represented by node 802. The network graph 800 also may allow for zooming in and out to aid visualization of the overall network represented by network graph 800 and visualization of specific relationships—such as that between the center person represented by node 801 and the person represented by node 802. Another measure of the relationship between people may be to examine the names that are mentioned in the same documents. If two names are mentioned in the same set of documents, they may also have similar expertise. The set of analytics tools 104 may plot a network graph 800 based, for example, on such measures.

Method 300 may continue at process 309 by overlaying trending information on top of document taxonomy T₁, and contingency tables C₀. For example, FIG. 5A shows trending information 505 overlaid on a taxonomy T₁. Trending information—such as trending information 505—may be added to each cell of a contingency table C₀. For example, cell 703 of contingency table 700 contains different types of information, such as number of documents (e.g., 3) and percentage of the documents by the author in that category (e.g., 12.5%) so that trending information may easily be added as one more type information to each cell.

Method 300 may continue at process 310 by identifying recent and most related expertise taxonomies and people using, for example, contingency table 700. “Recent” may defined as desired with respect to some pre-determined time period—for example, as more recent than 5 years, more recent than 1 year, more recent than 3 months, or the like. Similarly, “most related” may be defined as deemed appropriate, using the distance of nearest neighbor methodologies, for example, cosine distance in the feature space, as a measure of most closely related; or, for example, using a statistical correlation or likelihood value from the contingency table as a different measure of “most related”.

At process 311, method 300 may repeat processes 306-310 in order to compare one name classification against another name classification. In other words, by iterating processes 306-310, multiple comparisons between all the different name classifications of interest may be obtained.

Method 300 may continue with process 312 to identify people with similar expertise by examining highly (e.g., more closely using distance measure or more related using significance) related people names using network graph analysis with a network graph 800, for example, or other relationships in the structured and unstructured fields.

The invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In an exemplary embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.

Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.

The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.

A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.

Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.

It should be understood, of course, that the foregoing relates to exemplary embodiments of the invention and that modifications may be made without departing from the spirit and scope of the invention as set forth in the following claims. 

1. A method for use with a collection of documents P₀, the method comprising: generating categories representing fields of expertise derived from the collection of documents P₀; extracting structured fields from the collection of documents P₀; constructing a contingency table having a first axis defined by the extracted structured fields and a second axis defined by the categories; and using the contingency table to identify a set of experts having a related expertise.
 2. The method of claim 1, further comprising: classifying the collection of documents P based on the extracted structured fields.
 3. The method of claim 1, wherein: said generating of categories includes generating a taxonomy from the collection of documents P.
 4. The method of claim 3, further comprising: refining the taxonomy by applying user domain knowledge.
 5. The method of claim 1, wherein: the structured fields include a structured name field including author names for the collection of documents P.
 6. The method of claim 1, wherein: said generating of categories includes generation of a feature space from text of the documents of P and comparison of the documents of P using a measure of distance in the feature space.
 7. The method of claim 1, further comprising: using trending information in the contingency table to identify a recent, with respect to a pre-determined time period, expertise.
 8. A method for use with a set of seed documents P₀ extracted from a data warehouse, the method comprising: searching the data warehouse to provide a set of additional documents P₁ similar to documents of P₀, wherein said similarity is determined using a statistical method; generating an initial taxonomy for a combined document set P₀+P₁ that includes all documents from both the set of seed documents P₀ and the set of additional documents P₁; and iterating the processes of extracting, searching, and generating using domain knowledge to produce a refined taxonomy from the initial taxonomy.
 9. The method of claim 8, further comprising: classifying the combined document set P₀+P₁ using terms obtained from structured fields, wherein the structured fields are extracted from the combined document set P₀+P₁.
 10. The method of claim 8, further comprising: using a name annotator to extract names from documents of the combined document set P₀+P₁ to form a structured field; and classifying the combined document set P₀+P₁ using names obtained from the structured field.
 11. The method of claim 8, wherein: said generating of the initial taxonomy includes an analysis using words, bags of words, and phrases.
 12. The method of claim 8, further comprising: classifying the combined document set P₀+P₁ using structured fields; using contingency analysis to generate a contingency table that compares categories of the refined taxonomy to the structured fields.
 13. The method of claim 8, further comprising: classifying the combined document set P₀+P₁ using structured fields, wherein at least one structured field includes names of people; using contingency analysis to generate a contingency table that compares categories of the refined taxonomy to the structured fields; and examining the contingency table to find a relationship between the categories and the names of people.
 14. A computer program product comprising a computer useable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to: find a relationship between categories of a taxonomy and a collection of names of people derived from structured fields used to classify a set of documents from a data warehouse; plot said relationship as a network graph; and perform a network graph analysis to find a set of names from said collection of names of people that is most related to a set of said categories of said taxonomy.
 15. The computer program product of claim 14, wherein: said categories are categories of expertise.
 16. The computer program product of claim 14, wherein: each of said names of people is an author of a document from said set of documents.
 17. The computer program product of claim 14, wherein: said structured fields are used to identify a co-authoring relationship among the collection of names of people and the set of documents.
 18. The computer program product of claim 14, wherein: the computer finds said relationship using a contingency table generated from said categories and said collection of names of people; and the computer plots said network graph from said contingency table.
 19. The computer program product of claim 14, wherein: the computer finds said relationship using a contingency table generated from said categories and said collection of names of people, each cell of said contingency table having an actual value; the computer calculates a likelihood value for each cell; and the computer determines a degree of significance for each cell based on a comparison of the actual value and the likelihood value for each cell.
 20. A computer program product for use with a collection of documents P₀, the computer program product comprising a computer useable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to: generate categories representing fields of expertise derived from the collection of documents P₀; extract structured fields from the collection of documents P₀; construct a contingency table having a first axis defined by the extracted structured fields and a second axis defined by the categories; and identify, using the contingency table, a set of experts having a related expertise. 